package net.dopan.pigframe.config.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;

public class FileUtils {

    private static Logger logger = LoggerFactory.getLogger(FileUtils.class);

    public static String uploadImage(HttpServletRequest request, MultipartFile file){
        if(file != null){
            // 获取文件名
            String originalFilename = file.getOriginalFilename();
            // 判断上传图片类型是否合法
//            String fileType = OSSClientUtil.getContentType(originalFilename);
//            if (StringUtils.isBlank(fileType)) {
//                // 不合法
//                return "图片类型不合法";
//            }
            // 获取文件的类型
            String contentType = originalFilename.indexOf(".") != -1 ? originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length()) : null;
            // 获取当前项目的路径 request.getSession().getServletContext().getRealPath("/");
            String realPath = request.getSession().getServletContext().getRealPath("");
            // String realPath = "C:/Users/admin/Pictures/Saved";
            // 获取六位随机数
            int random6 = rundom.rundom();
            // 生成新的文件名 （取当前时间戳和六位随机数拼接成文件名）
            String newFileName = System.currentTimeMillis() + random6 + "." + contentType;
            // 拼接完整的路径
            String path = realPath + newFileName;
            // 判断文件夹是否存在，若不存则创建
            File mkfile = new File(realPath);
            if(!mkfile.exists()  && !mkfile.isDirectory()){
                mkfile.mkdir();
                logger.info("已创建临时存储图片文件夹");
            }
            // 将图片保存到服务器
            File newFile = new File(path);
            try {
                file.transferTo(newFile);
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 删除本地保存的图片
//            if(newFile.exists()){
//                boolean bool = newFile.delete();
//                System.out.println(bool);
//                if(bool) {
//                    logger.info("已上传图片至OSS，本地完成删除");
//                } else {
//                    logger.info("已上传图片至OSS，本地删除失败");
//                }
//            }
            System.err.println(path+"====================================");
            return path;
        }
        return "";
    }

    public static void main(String[] args) {
        File newFile = new File("C:\\Users\\admin\\AppData\\Local\\Temp\\tomcat-docbase.4397938781827007907.8091\\1543333644999.jpg");
//        System.err.println(newFile.delete());
//        String str ={"code":0,"data":"\/20181127\/ca966f7f97c84cde9aa0cc98ed66c6ae.jpg","msg":"success"};

        System.err.println(newFile.exists());
    }

}
